home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / libxslt / numbersInternals.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-07-28  |  1.9 KB  |  70 lines

  1. /*
  2.  * Summary: Implementation of the XSLT number functions
  3.  * Description: Implementation of the XSLT number functions
  4.  *
  5.  * Copy: See Copyright for the status of this software.
  6.  *
  7.  * Author: Bjorn Reese <breese@users.sourceforge.net> and Daniel Veillard
  8.  */
  9.  
  10. #ifndef __XML_XSLT_NUMBERSINTERNALS_H__
  11. #define __XML_XSLT_NUMBERSINTERNALS_H__
  12.  
  13. #include <libxml/tree.h>
  14. #include "xsltexports.h"
  15.  
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19.  
  20. /**
  21.  * xsltNumberData:
  22.  *
  23.  * This data structure is just a wrapper to pass xsl:number data in.
  24.  */
  25. typedef struct _xsltNumberData xsltNumberData;
  26. typedef xsltNumberData *xsltNumberDataPtr;
  27.     
  28. struct _xsltNumberData {
  29.     const xmlChar *level;
  30.     const xmlChar *count;
  31.     const xmlChar *from;
  32.     const xmlChar *value;
  33.     const xmlChar *format;
  34.     int has_format;
  35.     int digitsPerGroup;
  36.     int groupingCharacter;
  37.     int groupingCharacterLen;
  38.     xmlDocPtr doc;
  39.     xmlNodePtr node;
  40.  
  41.     /*
  42.      * accelerators
  43.      */
  44. };
  45.  
  46. /**
  47.  * xsltFormatNumberInfo,:
  48.  *
  49.  * This data structure lists the various parameters needed to format numbers.
  50.  */
  51. typedef struct _xsltFormatNumberInfo xsltFormatNumberInfo;
  52. typedef xsltFormatNumberInfo *xsltFormatNumberInfoPtr;
  53.  
  54. struct _xsltFormatNumberInfo {
  55.     int        integer_hash;    /* Number of '#' in integer part */
  56.     int        integer_digits;    /* Number of '0' in integer part */
  57.     int        frac_digits;    /* Number of '0' in fractional part */
  58.     int        frac_hash;        /* Number of '#' in fractional part */
  59.     int        group;        /* Number of chars per display 'group' */
  60.     int     multiplier;        /* Scaling for percent or permille */
  61.     char    add_decimal;    /* Flag for whether decimal point appears in pattern */
  62.     char    is_multiplier_set;    /* Flag to catch multiple occurences of percent/permille */
  63.     char    is_negative_pattern;/* Flag for processing -ve prefix/suffix */
  64. };
  65.  
  66. #ifdef __cplusplus
  67. }
  68. #endif
  69. #endif /* __XML_XSLT_NUMBERSINTERNALS_H__ */
  70.